package com.tsingteng.cosfun.mvp.presenter;



import com.tsingteng.cosfun.mvp.view.IView;

import io.reactivex.disposables.Disposable;

/**
 * 描述:基类presenter
 * 创建人: 肖利
 *时间: 2018/7/30
 * qq: (872179966)
 */

public interface IPresenter<V extends IView> {
    /**
     * 绑定View
     * @param view
     */
    void attachView(V view);

    /**
     * 解除View绑定
     */
    void detachView();

    /**
     * 检查View是否存在
     */
    void checkAttachView();

    /**
     * 得到view
     * @return
     */
    V getView();

    /**
     * 添加指定的请求
     * @param disposable
     */
    void addDisposable(Disposable disposable);

    /**
     * 移除指定的请求
     * @param disposable
     */
    void removeDisposable(Disposable disposable);

    /**
     * 取消所有请求
     */
    void removeAllDisposable();
}
